/****************************************************************
*  COPYRIGHT MorningCore CO.,LTD                                *
*****************************************************************/
/****************************************************************
 * FileName:    ZCDFT.h
 * version:     1.0.0
 * Purpose:     Header file of ZCDFT.c
 * Authors:     shanshan
 * Notes:        None
 ****************************************************************/

/******************************************************************************
*  HISTORY OF CHANGES
*   <Date>          <Author>        <Version>       <DESCRIPTION>
*   2009-08-18      shanshan        1.0.0           original
******************************************************************************/
#include "../../../CommLib_FltC/Typedef.h"
#include "../../../CommLib_FxpC/lib_arith_N.h"
#include "../../../CommLib_FltC/GlobalVarDef.h"
#include "../../../CommLib_FltC/FilePrintf.h"
#include "../../../UE/UE_Tx_Front_FltC/PUSCH/head/ue_tx_pusch_paramgen_f.h"

#ifdef __cplusplus
extern "C" {
#endif

#ifndef ZCDFT_H_fix
#define ZCDFT_H_fix

/*-----------external variable declaration-------------------------*/

/*-----------constant and type declaration-------------------------*/

/*-----------macro declaration-------------------------------------*/

/*-----------variable declaration-----------------------------------*/

/*-----------Function or task prototype declaration-----------------*/

void ZCDFT_fix
(
    stULParamTable *SimParam,
    int8          BitLength,                // bit width
    int8          PRACH_DFT_Shift,
    cmplx_frN     DataIp[],                // input sequence data
    cmplx_frN     DataOp[]                 // output
);

int16 InverseCal_fix
(
    int16 RootSeqLen,
    int16 RootSeqParam
);

void SetRegister(
    stULParamTable *SimParam,
    int BitLength,
    int16     Inv_RootSeqParam // Inverse_u*u = 1 mod N
);

#endif

#ifdef __cplusplus
}
#endif





